/***
 * API: Interfaz de Integracion hacia el sistema SUB. 
 * Copyright (c) 2011 Alcaldia de Medellin.
 * Subsecretaria de Tecnologia de Informacion. 
 * Todos los Derechos Reservados.
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 * 
 */
package defecto;

import java.io.Serializable;

/**
 * Clase Value Object, Correspondiente al Bean que representa a la entidad
 * devuelta por el web service Registro publicado por accion social, el cual
 * accede a la base de datos del SIPOD, encapsula los datos en un objeto para un
 * uso mas seguro y eficiente de los datos al enviarse como parametros entre
 * metodos.
 * 
 * @author Consult-Soft S.A.
 * @version 4.0 28/11/2011
 * @since 1.4
 */
public class SipodVO implements Serializable {

	// ------------------------------------------------------------------------
	// Atributos Locales - RUPD
	// ------------------------------------------------------------------------

	/**
	 * Evita que haya problemas de versiones al enviar objetos serializados a
	 * traves de la red o por llamadas RPC y RMI.
	 */
	private static final long serialVersionUID = -5108208941193037481L;

	/**
	 * Indica si el desplazamiento ha sido individual o grupal o alguna razon
	 * por la que el beneficiario es desplazado.
	 */
	private String tipoDesplazamiento;

	/**
	 * Define el sexo de la persona, tiene valores (Hombre / Mujer)
	 */
	private String sexo;

	/**
	 * Indica si el usuario esta activo en el siste de registro unico de
	 * poblacion desplazada (RUPD).
	 */
	private String activo;

	/**
	 * Tambien conocido como el Codigo SIPOD, es el identificador unico para
	 * cada usuario del sistema.
	 */
	private String idPersona;

	/**
	 * Es un codigo unico que tambien se le asigna al beneficiario.
	 */
	private String declaracion;

	/**
	 * Departamento/Municipio en el que el beneficiario se declara como
	 * desplazado, es decir, donde es hecho el registro.
	 */
	private String deparMunDeclaracion;

	/**
	 * Departamento/Municipio en el que residia el beneficiario, o de donde fue
	 * desplazado.
	 */
	private String deparMunExpulcion;

	/**
	 * Indica el estado del beneficiario con respecto al sistema SIPOD, si este
	 * esta incluido o no.
	 */
	private String estado;

	/**
	 * Fecha en la que el beneficiario se declara como desplazado.
	 */
	private String fechaDeclaracion;

	/**
	 * Fecha en la que ocurre el flagelo y es desplazado de su residencia.
	 */
	private String fechaDesplaz;

	/**
	 * Fecha en la que se aprueba su vinculacion al sistema de poblacion
	 * desplazada RUPD - SIPOD.
	 */
	private String fechaVinculacion;

	/**
	 * Relacion o parentesco del beneficiario con respecto al jefe de hogar.
	 */
	private String relacion;

	/**
	 * !!VALOR PENDIENTE!! --- en revision
	 */
	private String seDesplazo;

	// ------------------------------------------------------------------------
	// Atributos Locales - SIPOD
	// ------------------------------------------------------------------------

	/**
	 * Tambien conocido como el Codigo SIPOD, es el identificador unico para
	 * cada usuario del sistema.
	 */
	private String id;

	/**
	 * Primer nombre de la persona beneficiaria.
	 */
	private String nombre1;

	/**
	 * Segundo nombre del beneficiario, puede ser NULL.
	 */
	private String nombre2;

	/**
	 * Primer apellido del beneficiario.
	 */
	private String apellido1;

	/**
	 * Segundo apellido del beneficiario, puede ser NULL.
	 */
	private String apellido2;

	/**
	 * Tipo de documento de la persona registrada en el SIPOD, este contiene el
	 * nombre del tipo por ejemplo: cedula de ciudadania - CC.
	 */
	private String tipoDocumento;

	/**
	 * Numero del documento con el que esta registrado el beneficiario en el
	 * sistema.
	 */
	private String documento;

	// ------------------------------------------------------------------------
	// Constructor
	// ------------------------------------------------------------------------

	/**
	 * Crea un beneficiario Sipod sin inicializar.
	 */
	public SipodVO() {
	}

	// ------------------------------------------------------------------------
	// ACCESORES - GETTERS
	// ------------------------------------------------------------------------

	public String getActivo() {
		return this.activo;
	}

	public String getApellido1() {
		return this.apellido1;
	}

	public String getApellido2() {
		return this.apellido2;
	}

	/**
	 * Es un codigo unico que tambien se le asigna al beneficiario. Corresponde
	 * al numero de la peticion o declaracion, es diferente al codigo Sipod.
	 * 
	 * @return El numero de la declaracion, tipo String.
	 */
	public String getDeclaracion() {
		return this.declaracion;
	}

	public String getDeparMunDeclaracion() {
		return this.deparMunDeclaracion;
	}

	public String getDeparMunExpulcion() {
		return this.deparMunExpulcion;
	}

	public String getDocumento() {
		return this.documento;
	}

	/**
	 * Indica el estado del beneficiario con respecto al sistema SIPOD, si este
	 * esta incluido o no.
	 * 
	 * @return El valor de este campo en tipo String. Puede ser incluido o no
	 *         incluido.
	 */
	public String getEstado() {
		return this.estado;
	}

	public String getFechaDeclaracion() {
		return this.fechaDeclaracion;
	}

	public String getFechaDesplaz() {
		return this.fechaDesplaz;
	}

	public String getFechaVinculacion() {
		return this.fechaVinculacion;
	}

	/**
	 * Retorna el Id unico del beneficiario para consulta en el SIPOD.
	 * 
	 * @return El Valor del Campo Id de la tabla, tipo String.
	 */
	public String getId() {
		return this.id;
	}

	/**
	 * Tambien conocido como el Codigo SIPOD, es el identificador unico para
	 * cada usuario del sistema.
	 * 
	 * @return El codigo Sipod en tipo String.
	 */
	public String getIdPersona() {
		return this.idPersona;
	}

	public String getNombre1() {
		return this.nombre1;
	}

	public String getNombre2() {
		return this.nombre2;
	}

	public String getRelacion() {
		return this.relacion;
	}

	public String getSeDesplazo() {
		return this.seDesplazo;
	}

	public String getSexo() {
		return this.sexo;
	}

	public String getTipoDesplazamiento() {
		return this.tipoDesplazamiento;
	}

	public String getTipoDocumento() {
		return this.tipoDocumento;
	}

	// ------------------------------------------------------------------------
	// MUTADORES - SETTERS
	// ------------------------------------------------------------------------

	public void setActivo(String activo) {
		this.activo = activo;
	}

	public void setApellido1(String apellido1) {
		this.apellido1 = apellido1;
	}

	public void setApellido2(String apellido2) {
		this.apellido2 = apellido2;
	}

	public void setDeclaracion(String declaracion) {
		this.declaracion = declaracion;
	}

	public void setDeparMunDeclaracion(String deparMunDeclaracion) {
		this.deparMunDeclaracion = deparMunDeclaracion;
	}

	public void setDeparMunExpulcion(String deparMunExpulcion) {
		this.deparMunExpulcion = deparMunExpulcion;
	}

	public void setDocumento(String documento) {
		this.documento = documento;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public void setFechaDeclaracion(String fechaDeclaracion) {
		this.fechaDeclaracion = fechaDeclaracion;
	}

	public void setFechaDesplaz(String fechaDesplaz) {
		this.fechaDesplaz = fechaDesplaz;
	}

	public void setFechaVinculacion(String fechaVinculacion) {
		this.fechaVinculacion = fechaVinculacion;
	}

	public void setId(String id) {
		this.id = id;
	}

	public void setIdPersona(String idPersona) {
		this.idPersona = idPersona;
	}

	public void setNombre1(String nombre1) {
		this.nombre1 = nombre1;
	}

	public void setNombre2(String nombre2) {
		this.nombre2 = nombre2;
	}

	public void setRelacion(String relacion) {
		this.relacion = relacion;
	}

	public void setSeDesplazo(String seDesplazo) {
		this.seDesplazo = seDesplazo;
	}

	public void setSexo(String sexo) {
		this.sexo = sexo;
	}

	public void setTipoDesplazamiento(String tipoDesplazamiento) {
		this.tipoDesplazamiento = tipoDesplazamiento;
	}

	public void setTipoDocumento(String tipoDocumento) {
		this.tipoDocumento = tipoDocumento;
	}
}
